home *** CD-ROM | disk | FTP | other *** search
- /*
- -- ANSI C code generated by :
- -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
- -- http://www.loria.fr/SmallEiffel --
- */
- #include "compile_to_jvm.h"
- /*No:E_INSPECT.clear_current_type*/
- /*No:E_INSPECT.nb_errors*/
- /*No:E_INSPECT.else_position*/
- /*No:E_INSPECT.start_position*/
-
-
- T0* r236twin(T236* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T236*)R)=*C;
- return R;
- }
-
-
- void r236add_when(T236* C,T0* a1){
- /*[IF*/
- if(((C)->_when_list/*12*/)==((void*)(NULL))){
- {T238*n=malloc(sizeof(*n));
- *n=M238;
- /*[IRF3.3make*/((((T238*)(n)))->_list)=(se_ma239(1,
- a1));
- /*]*/
- C->_when_list=(T0*)n;
- }
- }
- else{
- /*[IRF3.5add_last*/r239add_last(((T239*)(((T238*)((C)->_when_list/*12*/))->_list/*4*/)),a1);
- /*]*/
- }
- /*FI]*/
- }
- /*No:E_INSPECT.set_when_list*/
-
-
- T0* r236add_comment(T236* C,T0* a1){
- T0* R=NULL;
- /*[IF*/
- if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
- R=(T0*)C;
- }
- else {/*AT*//*[IF*/
- if((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(1)){
- R=(T0*)C;
- }
- else{
- {T229*n=malloc(sizeof(*n));
- *n=M229;
- r229make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI]*/
- }
- /*FI]*/
- return R;
- }
-
-
- void r236set_else_compound(T236* C,T0* a1,T0* a2){
- C->_else_position=a1;
- C->_else_compound=a2;
- }
- /*No:E_INSPECT.expression*/
- /*No:E_INSPECT.em1*/
-
-
- T6 r236use_current(T236* C){
- T6 R=0;
- R=(R)||(X109use_current((C)->_expression/*8*/));
- /*[IF*/
- if(((C)->_when_list/*12*/)!=((void*)(NULL))){
- R=(R)||(r238use_current((T238*)((C)->_when_list/*12*/)));
- }
- /*FI]*/
- /*[IF*/
- if(((C)->_else_compound/*20*/)!=((void*)(NULL))){
- R=(R)||(r220use_current((T220*)((C)->_else_compound/*20*/)));
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r236to_runnable(T236* C,T0* a1){
- T0* R=NULL;
- T0* _wl=NULL;
- T0* _te=NULL;
- T0* _e=NULL;
- /*[IF*/
- if(((C)->_current_type/*24*/)==((void*)(NULL))){
- C->_current_type=a1;
- _e=X109to_runnable((C)->_expression/*8*/,a1);
- /*[IF*/
- if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
- C->_expression=_e;
- _te=X52run_type(X109result_type(_e));
- }
- /*FI]*/
- /*[IF*/
- if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
- /*[IF*/
- if(X52is_character(_te)){
- /*[IF*/
- if(((C)->_when_list/*12*/)!=((void*)(NULL))){
- C->_when_list=r238to_runnable_character((T238*)((C)->_when_list/*12*/),(T0*)C);
- /*[IF*/
- if(((C)->_when_list/*12*/)==((void*)(NULL))){
- r236error((C)->_start_position/*4*/,((T0*)ms236_11604));
- }
- /*FI]*/
- }
- /*FI]*/
- }
- else if(X52is_integer(_te)){
- /*[IF*/
- if(((C)->_when_list/*12*/)!=((void*)(NULL))){
- C->_when_list=r238to_runnable_integer((T238*)((C)->_when_list/*12*/),(T0*)C);
- /*[IF*/
- if(((C)->_when_list/*12*/)==((void*)(NULL))){
- r236error((C)->_start_position/*4*/,((T0*)ms236_11604));
- }
- /*FI]*/
- }
- /*FI]*/
- }
- else{
- /*[IRF3.6append*/{T0* b1=((T0*)ms236_94840);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21add_type(_te,((T0*)ms236_18320));
- r21add_position((C)->_start_position/*4*/);
- r21print_as_error((T21*)(oBC12eh));
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(((C)->_else_compound/*20*/)!=((void*)(NULL))){
- C->_else_compound=r220to_runnable((T220*)((C)->_else_compound/*20*/),a1);
- }
- /*FI]*/
- R=(T0*)C;
- }
- else{
- R=r236twin(C);
- {T238*n=malloc(sizeof(*n));
- *n=M238;
- r238from_when_list(n,(C)->_when_list/*12*/);
- _wl=(T0*)n;
- }
- /*[IRF3.3set_when_list*/((((T236*)(((T236*)R))))->_when_list)=(_wl);
- /*]*/
- /*[IRF3.3clear_current_type*/((((T236*)(((T236*)R))))->_current_type)=(NULL);
- /*]*/
- R=r236to_runnable(((T236*)R),a1);
- }
- /*FI]*/
- return R;
- }
- /*No:E_INSPECT.else_compound*/
- /*No:E_INSPECT.current_type*/
- /*No:E_INSPECT.is_pre_computable*/
-
-
- void r236error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
- /*No:E_INSPECT.end_mark_comment*/
-
-
- void r236make(T236* C,T0* a1,T0* a2){
- C->_start_position=a1;
- C->_expression=a2;
- }
- /*No:E_INSPECT.includes*/
- /*No:E_INSPECT.when_list*/
-
-
- void r236compile_to_jvm(T236* C){
- X109compile_to_jvm((C)->_expression/*8*/);
- /*[IF*/
- if(((C)->_when_list/*12*/)!=((void*)(NULL))){
- r238compile_to_jvm((T238*)((C)->_when_list/*12*/),(C)->_else_position/*16*/);
- }
- /*FI]*/
- /*[IF*/
- if(((C)->_else_compound/*20*/)!=((void*)(NULL))){
- r220compile_to_jvm((T220*)((C)->_else_compound/*20*/));
- }
- else if(((C)->_else_position/*16*/)==((void*)(NULL))){
- /*[IF*/
- if(r76no_check((T76*)(oBC12run_control))){
- r28runtime_error_inspect((T28*)(oBC12code_attribute),(C)->_expression/*8*/);
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(((C)->_when_list/*12*/)!=((void*)(NULL))){
- r238compile_to_jvm_resolve_branch((T238*)((C)->_when_list/*12*/));
- }
- /*FI]*/
- /*[IRF3.4opcode_pop*/r28opcode((T28*)(oBC12code_attribute),87,-(1));
- /*]*/
- }
-
-
- void r236afd_check(T236* C){
- X109afd_check((C)->_expression/*8*/);
- /*[IF*/
- if(((C)->_when_list/*12*/)!=((void*)(NULL))){
- r238afd_check((T238*)((C)->_when_list/*12*/));
- }
- /*FI]*/
- /*[IF*/
- if(((C)->_else_compound/*20*/)!=((void*)(NULL))){
- r220afd_check((T220*)((C)->_else_compound/*20*/));
- }
- /*FI]*/
- }
- /*No:ARGUMENT_NAME1.static_value*/
- /*No:ARGUMENT_NAME1.is_static*/
- /*No:ARGUMENT_NAME1.is_manifest_string*/
- /*No:ARGUMENT_NAME1.start_position*/
- /*No:ARGUMENT_NAME1.to_string*/
-
-
- T0* r194add_comment(T194* C,T0* a1){
- T0* R=NULL;
- /*[IF*/
- if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
- R=(T0*)C;
- }
- else{
- {T234*n=malloc(sizeof(*n));
- *n=M234;
- r234make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI]*/
- return R;
- }
- /*No:ARGUMENT_NAME1.rank*/
-
-
- T2 r194to_integer(T194* C){
- T2 R=0;
- r194error((C)->_start_position/*4*/,((T0*)ms13_45846));
- return R;
- }
- /*No:ARGUMENT_NAME1.use_current*/
-
-
- T2 r194jvm_branch_if_true(T194* C){
- T2 R=0;
- r194compile_to_jvm(C);
- R=r28opcode_ifne((T28*)(oBC12code_attribute));
- return R;
- }
-
-
- T0* r194to_runnable(T194* C,T0* a1){
- T0* R=NULL;
- T0* _rt=NULL;
- _rt=X52to_runnable((C)->_result_type/*12*/,a1);
- /*[IF*/
- if((_rt)==((void*)(NULL))){
- r21add_position(X52start_position((C)->_result_type/*12*/));
- r194error((C)->_start_position/*4*/,((T0*)ms194_13065));
- }
- /*FI]*/
- /*[IF*/
- if(((C)->_result_type/*12*/)==((void*)(_rt))){
- R=(T0*)C;
- }
- else{
- R=r194twin(C);
- /*[IRF3.3set_result_type*/((((T194*)(((T194*)R))))->_result_type)=(_rt);
- /*]*/
- }
- /*FI]*/
- return R;
- }
-
-
- T2 r194compile_to_jvm_into(T194* C,T0* a1){
- T2 R=0;
- R=r194standard_compile_to_jvm_into(C,a1);
- return R;
- }
- /*No:ARGUMENT_NAME1.is_pre_computable*/
- /*No:ARGUMENT_NAME1.fz_iinaiv*/
- /*No:ARGUMENT_NAME1.result_type*/
-
-
- void r194standard_compile_target_to_jvm(T194* C){
- r194compile_to_jvm(C);
- X52jvm_check_class_invariant((C)->_result_type/*12*/);
- }
- /*No:ARGUMENT_NAME1.compile_to_jvm_assignment*/
- /*No:ARGUMENT_NAME1.compile_to_jvm_old*/
- /*No:ARGUMENT_NAME1.jvm_assign*/
-
-
- T2 r194jvm_branch_if_false(T194* C){
- T2 R=0;
- r194compile_to_jvm(C);
- R=r28opcode_ifeq((T28*)(oBC12code_attribute));
- return R;
- }
-
-
- void r194compile_to_jvm(T194* C){
- T2 _jvm_offset=0;
- _jvm_offset=r24argument_offset_of((T24*)(oBC12jvm),(T0*)C);
- X52jvm_push_local(X52run_type((C)->_result_type/*12*/),_jvm_offset);
- }
-
-
- T0* r194base_class_written(T194* C){
- T0* R=NULL;
- R=r70base_class((T70*)(r194written_in(C)));
- return R;
- }
- /*No:ARGUMENT_NAME1.is_result*/
- /*No:ARGUMENT_NAME1.can_be_dropped*/
-
-
- T0* r194twin(T194* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T194*)R)=*C;
- return R;
- }
- /*No:ARGUMENT_NAME1.name_clash*/
- /*No:ARGUMENT_NAME1.compile_target_to_jvm*/
- /*No:ARGUMENT_NAME1.isa_dca_inline_argument*/
-
-
- T0* r194written_in(T194* C){
- T0* R=NULL;
- T0* _sp=NULL;
- _sp=(C)->_start_position/*4*/;
- /*[IF*/
- if((_sp)!=((void*)(NULL))){
- R=(((T59*)_sp))->_base_class_name/*0*/;
- }
- /*FI]*/
- return R;
- }
- /*No:ARGUMENT_NAME1.set_result_type*/
-
-
- void r194name_clash_for(T194* C,T0* a1,T0* a2){
- T0* _bc=NULL;
- T0* _rc=NULL;
- T0* _rf=NULL;
- _bc=r194base_class_written(C);
- /*[IF*/
- if(r63has_simple_feature_name(((T63*)_bc),(C)->_to_string/*8*/)){
- _rc=X52run_class(a1);
- _rf=r23get_feature_with(((T23*)_rc),(C)->_to_string/*8*/);
- /*[IF*/
- if((_rf)!=((void*)(NULL))){
- r21add_position(X27start_position(_rf));
- }
- /*FI]*/
- r194error((C)->_start_position/*4*/,a2);
- }
- /*FI]*/
- }
-
-
- void r194error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
- /*No:ARGUMENT_NAME1.set_rank*/
-
-
- void r194make(T194* C,T0* a1,T0* a2){
- C->_start_position=a1;
- C->_to_string=r86item(a2);
- }
- /*No:ARGUMENT_NAME1.is_current*/
-
-
- T2 r194standard_compile_to_jvm_into(T194* C,T0* a1){
- T2 R=0;
- r194compile_to_jvm(C);
- R=X52jvm_convert_to(X52run_type((C)->_result_type/*12*/),a1);
- return R;
- }
- /*No:ARGUMENT_NAME1.is_void*/
- /*No:ARGUMENT_NAME1.afd_check*/
- /*No:PROC_CALL_1.feature_name*/
-
-
- void r167run_feature_match(T167* C,T0* a1){
- r167run_feature_has_no_result(C);
- r152match_with((T152*)((C)->_arguments/*16*/),(C)->_run_feature/*12*/,a1);
- }
- /*No:PROC_CALL_1.arguments*/
-
-
- T0* r167runnable_expression(T0* a1,T0* a2){
- T0* R=NULL;
- R=X109to_runnable(a1,a2);
- /*[IF*/
- if((R)==((void*)(NULL))){
- r21add_position(X109start_position(a1));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r167start_position(T167* C){
- T0* R=NULL;
- R=X50start_position((C)->_feature_name/*8*/);
- return R;
- }
-
-
- T0* r167add_comment(T167* C,T0* a1){
- T0* R=NULL;
- /*[IF*/
- if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
- R=(T0*)C;
- }
- /*AF*/else{
- {T229*n=malloc(sizeof(*n));
- *n=M229;
- r229make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI]*/
- return R;
- }
-
-
- void r167run_feature_has_no_result(T167* C){
- /*[IF*/
- if((X27result_type((C)->_run_feature/*12*/))!=((void*)(NULL))){
- r21add_position(X27start_position((C)->_run_feature/*12*/));
- r21add_position(X50start_position((C)->_feature_name/*8*/));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms165_67122);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- /*FI]*/
- }
-
-
- T6 r167use_current(T167* C){
- T6 R=0;
- T0* _s=NULL;
- T0* _ms=NULL;
- /*[IF*/
- if((((T0*)ms14_15220))==((void*)(X50to_string((C)->_feature_name/*8*/)))){
- _ms=/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*16*/)))->_first_one/*0*//*)*//*)*/;
- if(NULL!=(_ms))switch(((T0*)_ms)->id) {
- case 174:
- break;
- default:
- _ms=NULL;
- };_s=(((T174*)_ms))->_to_string/*8*/;
- R=r7has(((T7*)_s),'C');
- }
- else{
- R=r167standard_use_current(C);
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r167to_runnable(T167* C,T0* a1){
- T0* R=NULL;
- T0* _rf=NULL;
- T0* _a=NULL;
- T0* _t=NULL;
- _t=r167runnable_expression((C)->_target/*4*/,a1);
- _a=r167runnable_args((C)->_arguments/*16*/,a1);
- _rf=r167run_feature_for(C,_t,a1);
- /*[IF*/
- if(((C)->_run_feature/*12*/)==((void*)(NULL))){
- C->_target=_t;
- C->_arguments=_a;
- C->_run_feature=_rf;
- r167run_feature_match(C,a1);
- R=(T0*)C;
- }
- else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*16*/)))){
- R=(T0*)C;
- }
- else{
- {T167*n=malloc(sizeof(*n));
- *n=M167;
- r167with(n,_t,(C)->_feature_name/*8*/,_a,_rf,a1);
- R=(T0*)n;
- }
- }
- /*FI]*/
- return R;
- }
- /*No:PROC_CALL_1.is_pre_computable*/
- /*No:PROC_CALL_1.fz_bad_argument*/
-
-
- T6 r167standard_use_current(T167* C){
- T6 R=0;
- /*[IF*/
- {/*AT*/R=r152use_current((T152*)((C)->_arguments/*16*/));
- }
- /*FI]*/
- /*[IF*/
- if(R){
- }
- else if(X109is_current((C)->_target/*4*/)){
- R=X27use_current((C)->_run_feature/*12*/);
- }
- else{
- R=X109use_current((C)->_target/*4*/);
- }
- /*FI]*/
- return R;
- }
- /*No:PROC_CALL_1.arg1*/
- /*No:PROC_CALL_1.set_run_feature*/
-
-
- T0* r167run_feature_for(T167* C,T0* a1,T0* a2){
- T0* R=NULL;
- T0* _rc=NULL;
- _rc=X52run_class(X109result_type(a1));
- R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*8*/,a2);
- return R;
- }
- /*No:PROC_CALL_1.target*/
- /*No:PROC_CALL_1.run_feature*/
- /*No:PROC_CALL_1.end_mark_comment*/
-
-
- void r167make(T167* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
-
-
- T0* r167runnable_args(T0* a1,T0* a2){
- T0* R=NULL;
- R=r152to_runnable(((T152*)a1),a2);
- /*[IF*/
- if((R)==((void*)(NULL))){
- r21add_position(r152start_position(((T152*)a1)));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- /*FI]*/
- return R;
- }
- /*No:PROC_CALL_1.fz_07*/
-
-
- T0* r167make_runnable(T167* C,T0* a1,T0* a2,T0* a3){
- T0* R=NULL;
- /*[IF*/
- if(((C)->_run_feature/*12*/)==((void*)(NULL))){
- C->_target=a1;
- C->_arguments=a2;
- C->_run_feature=a3;
- R=(T0*)C;
- }
- else{
- {T167*n=malloc(sizeof(*n));
- *n=M167;
- r167make(n,a1,(C)->_feature_name/*8*/,a2);
- R=(T0*)n;
- }
- /*[IRF3.3set_run_feature*/((((T167*)(((T167*)R))))->_run_feature)=(a3);
- /*]*/
- }
- /*FI]*/
- return R;
- }
- /*No:PROC_CALL_1.us_c_inline_c*/
-
-
- void r167compile_to_jvm(T167* C){
- /*[IF*/
- if((((T0*)ms14_15220))==((void*)(X50to_string((C)->_feature_name/*8*/)))){
- r21add_position(r167start_position(C));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms167_140500);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- else{
- /*[IRF3.6call_proc_call_c2jvm*/{T167* C1=C;
- r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
- }/*]*/
- }
- /*FI]*/
- }
-
-
- void r167afd_check(T167* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X52run_class(X109result_type((C)->_target/*4*/));
- _running=(((T23*)_rc))->_running/*12*/;
- /*[IF*/
- if((_running)==((void*)(NULL))){
- r21add_position(X109start_position((C)->_target/*4*/));
- /*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21print_as_warning((T21*)(oBC12eh));
- r23set_at_run_time(((T23*)_rc));
- }
- else if((r340count(((T340*)_running)))>(1)){
- r335update((C)->_target/*4*/,(C)->_run_feature/*12*/);
- }
- /*FI]*/
- X109afd_check((C)->_target/*4*/);
- /*[IF*/
- {/*AT*/r152afd_check((T152*)((C)->_arguments/*16*/));
- }
- /*FI]*/
- }
- /*No:PROC_CALL_1.arg_count*/
- /*No:PROC_CALL_1.call_proc_call_c2jvm*/
-
-
- void r167with(T167* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- C->_run_feature=a4;
- r167run_feature_match(C,a5);
- }
- /*No:PROC_CALL_1.fatal_error*/
- /*No:CALL_INFIX_INT_REM.static_value*/
- /*No:CALL_INFIX_INT_REM.feature_name*/
-
-
- T6 r137is_static(T137* C){
- T6 R=0;
- /*[IF*/
- if(X52is_integer(r137result_type(C))){
- /*[IF*/
- if((X109is_static((C)->_target/*4*/))&&(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
- R=1;
- C->_static_value_mem=(X109static_value((C)->_target/*4*/))%(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
- }
- /*FI]*/
- }
- /*FI]*/
- return R;
- }
- /*No:CALL_INFIX_INT_REM.is_manifest_string*/
-
-
- T0* r137start_position(T137* C){
- T0* R=NULL;
- R=((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/;
- return R;
- }
-
-
- T0* r137add_comment(T137* C,T0* a1){
- T0* R=NULL;
- /*[IF*/
- if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
- R=(T0*)C;
- }
- else{
- {T234*n=malloc(sizeof(*n));
- *n=M234;
- r234make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI]*/
- return R;
- }
-
-
- T2 r137to_integer(T137* C){
- T2 R=0;
- r137error(r137start_position(C),((T0*)ms13_45846));
- return R;
- }
-
-
- T6 r137use_current(T137* C){
- T6 R=0;
- /*[IF*/
- {/*AT*/R=r152use_current((T152*)((C)->_arguments/*8*/));
- }
- /*FI]*/
- /*[IF*/
- if(R){
- }
- else if(X109is_current((C)->_target/*4*/)){
- R=X27use_current((C)->_run_feature/*16*/);
- }
- else{
- R=X109use_current((C)->_target/*4*/);
- }
- /*FI]*/
- return R;
- }
- /*No:CALL_INFIX_INT_REM.jvm_branch_if_true*/
-
-
- T0* r137to_runnable(T137* C,T0* a1){
- T0* R=NULL;
- T0* _rf=NULL;
- T0* _tbee=NULL;
- T0* _at=NULL;
- T0* _tt=NULL;
- T0* _a=NULL;
- T0* _t=NULL;
- _t=r137runnable_expression((C)->_target/*4*/,a1);
- _a=r137runnable_args((C)->_arguments/*8*/,a1);
- _tt=X109result_type(_t);
- _at=X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- _rf=r137run_feature_for(C,_t,a1);
- /*[IF*/
- if(((C)->_run_feature/*16*/)==((void*)(NULL))){
- C->_target=_t;
- C->_arguments=_a;
- C->_run_feature=_rf;
- r137run_feature_match(C,a1);
- R=(T0*)C;
- }
- else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
- R=(T0*)C;
- }
- else{
- {T137*n=malloc(sizeof(*n));
- *n=M137;
- r137with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
- R=(T0*)n;
- }
- }
- /*FI]*/
- return R;
- }
-
-
- T2 r137compile_to_jvm_into(T137* C,T0* a1){
- T2 R=0;
- R=r137standard_compile_to_jvm_into(C,a1);
- return R;
- }
- /*No:CALL_INFIX_INT_REM.is_pre_computable*/
- /*No:CALL_INFIX_INT_REM.fz_bad_argument*/
- /*No:CALL_INFIX_INT_REM.fz_iinaiv*/
-
-
- T0* r137result_type(T137* C){
- T0* R=NULL;
- T0* _tla=NULL;
- R=X27result_type((C)->_run_feature/*16*/);
- /*[IF*/
- if(X52is_like_current(R)){
- R=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
- }
- else{
- _tla=R;
- if(NULL!=(_tla))switch(((T0*)_tla)->id) {
- case 262:
- break;
- default:
- _tla=NULL;
- };/*[IF*/
- if((_tla)!=((void*)(NULL))){
- R=X52run_type(X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
- }
- /*FI]*/
- }
- /*FI]*/
- return R;
- }
- /*No:CALL_INFIX_INT_REM.static_value_mem*/
- /*No:CALL_INFIX_INT_REM.run_feature*/
-
-
- T0* r137runnable_args(T0* a1,T0* a2){
- T0* R=NULL;
- R=r152to_runnable(((T152*)a1),a2);
- /*[IF*/
- if((R)==((void*)(NULL))){
- r21add_position(r152start_position(((T152*)a1)));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- /*FI]*/
- return R;
- }
-
-
- void r137standard_compile_target_to_jvm(T137* C){
- /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T137* C1=C;
- r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
- }/*]*/
- /*]*/
- X52jvm_check_class_invariant(r137result_type(C));
- }
- /*No:CALL_INFIX_INT_REM.compile_to_jvm_assignment*/
- /*No:CALL_INFIX_INT_REM.fz_07*/
-
-
- void r137compile_to_jvm_old(T137* C){
- X109compile_to_jvm_old((C)->_target/*4*/);
- /*[IF*/
- {/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
- }
- /*FI]*/
- }
- /*No:CALL_INFIX_INT_REM.jvm_assign*/
- /*No:CALL_INFIX_INT_REM.jvm_branch_if_false*/
- /*No:CALL_INFIX_INT_REM.compile_to_jvm*/
- /*No:CALL_INFIX_INT_REM.arg_count*/
-
-
- void r137with(T137* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- C->_run_feature=a4;
- r137run_feature_match(C,a5);
- }
- /*No:CALL_INFIX_INT_REM.call_proc_call_c2jvm*/
- /*No:CALL_INFIX_INT_REM.is_result*/
- /*No:CALL_INFIX_INT_REM.fatal_error*/
-
-
- void r137run_feature_match(T137* C,T0* a1){
- r137run_feature_has_result(C);
- r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
- }
- /*No:CALL_INFIX_INT_REM.arguments*/
-
-
- T0* r137runnable_expression(T0* a1,T0* a2){
- T0* R=NULL;
- R=X109to_runnable(a1,a2);
- /*[IF*/
- if((R)==((void*)(NULL))){
- r21add_position(X109start_position(a1));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- /*FI]*/
- return R;
- }
- /*No:CALL_INFIX_INT_REM.can_be_dropped*/
- /*No:CALL_INFIX_INT_REM.implicit_cast*/
- /*No:CALL_INFIX_INT_REM.compile_target_to_jvm*/
- /*No:CALL_INFIX_INT_REM.us_backslash_backslash*/
- /*No:CALL_INFIX_INT_REM.isa_dca_inline_argument*/
- /*No:CALL_INFIX_INT_REM.arg1*/
-
-
- void r137run_feature_has_result(T137* C){
- /*[IF*/
- if((X27result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
- r21add_position(X27start_position((C)->_run_feature/*16*/));
- r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms120_53650);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- /*FI]*/
- }
-
-
- T2 r137jvm_standard_branch_if_false(T137* C){
- T2 R=0;
- /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T137* C1=C;
- r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
- }/*]*/
- /*]*/
- R=r28opcode_ifeq((T28*)(oBC12code_attribute));
- return R;
- }
-
-
- T0* r137run_feature_for(T137* C,T0* a1,T0* a2){
- T0* R=NULL;
- T0* _rc=NULL;
- _rc=X52run_class(X109result_type(a1));
- R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*12*/,a2);
- return R;
- }
- /*No:CALL_INFIX_INT_REM.target*/
-
-
- void r137error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
-
-
- void r137make(T137* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- {T141*n=malloc(sizeof(*n));
- *n=M141;
- r141make(n,r137operator(),a2);
- C->_feature_name=(T0*)n;
- }
- {T152*n=malloc(sizeof(*n));
- *n=M152;
- /*[IRF3.3make_1*/((((T152*)(n)))->_first_one)=(a3);
- /*]*/
- C->_arguments=(T0*)n;
- }
- }
- /*No:CALL_INFIX_INT_REM.is_current*/
-
-
- T2 r137standard_compile_to_jvm_into(T137* C,T0* a1){
- T2 R=0;
- /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T137* C1=C;
- r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
- }/*]*/
- /*]*/
- R=X52jvm_convert_to(X52run_type(r137result_type(C)),a1);
- return R;
- }
- /*No:CALL_INFIX_INT_REM.is_void*/
-
-
- T0* r137operator(void){
- T0* R=NULL;
- R=((T0*)ms14_374);
- return R;
- }
-
-
- T2 r137jvm_standard_branch_if_true(T137* C){
- T2 R=0;
- /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T137* C1=C;
- r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
- }/*]*/
- /*]*/
- R=r28opcode_ifne((T28*)(oBC12code_attribute));
- return R;
- }
-
-
- void r137afd_check(T137* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X52run_class(X109result_type((C)->_target/*4*/));
- _running=(((T23*)_rc))->_running/*12*/;
- /*[IF*/
- if((_running)==((void*)(NULL))){
- r21add_position(X109start_position((C)->_target/*4*/));
- /*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21print_as_warning((T21*)(oBC12eh));
- r23set_at_run_time(((T23*)_rc));
- }
- else if((r340count(((T340*)_running)))>(1)){
- r335update((C)->_target/*4*/,(C)->_run_feature/*16*/);
- }
- /*FI]*/
- X109afd_check((C)->_target/*4*/);
- /*[IF*/
- {/*AT*/r152afd_check((T152*)((C)->_arguments/*8*/));
- }
- /*FI]*/
- }
- /*No:WHEN_LIST.nb_errors*/
-
-
- T0* r238to_runnable_integer(T238* C,T0* a1){
- T0* R=NULL;
- T0* _e_when=NULL;
- T2 _i=0;
- /*[IF*/
- if(((C)->_e_inspect/*0*/)==((void*)(NULL))){
- C->_e_inspect=a1;
- _i=1;
- while (!(((_i)>(((T239*)((C)->_list/*4*/))->_upper/*8*/))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
- _e_when=r237to_runnable_integer((T237*)(r239item((T239*)((C)->_list/*4*/),_i)),(T0*)C);
- /*[IF*/
- if((_e_when)==((void*)(NULL))){
- r238error(r238start_position(C),((T0*)ms238_15022));
- }
- else{
- /*[IRF3.6put*/{T239* C1=(T239*)((C)->_list/*4*/);
- T0* b1=_e_when;
- T2 b2=_i;
- ((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
- }/*]*/
- }
- /*FI]*/
- _i=(_i)+(1);
- }
- R=(T0*)C;
- }
- else{
- {T238*n=malloc(sizeof(*n));
- *n=M238;
- r238from_when_list(n,(T0*)C);
- R=(T0*)n;
- }
- R=r238to_runnable_integer(((T238*)R),a1);
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r238start_position(T238* C){
- T0* R=NULL;
- R=((T237*)(r239item((T239*)((C)->_list/*4*/),1)))->_start_position/*0*/;
- return R;
- }
- /*No:WHEN_LIST.add_last*/
- /*No:WHEN_LIST.em1*/
-
-
- T6 r238use_current(T238* C){
- T6 R=0;
- T2 _i=0;
- /*[IF*/
- if(((C)->_list/*4*/)!=((void*)(NULL))){
- _i=1;
- while (!(((_i)>(((T239*)((C)->_list/*4*/))->_upper/*8*/))||(R))) {
- R=r237use_current((T237*)(r239item((T239*)((C)->_list/*4*/),_i)));
- _i=(_i)+(1);
- }
- }
- /*FI]*/
- return R;
- }
-
-
- T6 r238includes_integer(T238* C,T2 a1){
- T6 R=0;
- T2 _i=0;
- _i=1;
- while (!((R)||((_i)>(((T239*)((C)->_list/*4*/))->_upper/*8*/)))) {
- R=r237includes_integer((T237*)(r239item((T239*)((C)->_list/*4*/),_i)),a1);
- _i=(_i)+(1);
- }
- return R;
- }
-
-
- void r238from_when_list(T238* C,T0* a1){
- T0* _e_when=NULL;
- T2 _i=0;
- C->_list=r239twin((T239*)((((T238*)a1))->_list/*4*/));
- _i=1;
- while (!((_i)>(((T239*)((C)->_list/*4*/))->_upper/*8*/))) {
- {T237*n=malloc(sizeof(*n));
- *n=M237;
- r237from_e_when(n,r239item((T239*)((C)->_list/*4*/),_i));
- _e_when=(T0*)n;
- }
- /*[IRF3.6put*/{T239* C1=(T239*)((C)->_list/*4*/);
- T0* b1=_e_when;
- T2 b2=_i;
- ((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
- }/*]*/
- _i=(_i)+(1);
- }
- }
-
-
- void r238compile_to_jvm_resolve_branch(T238* C){
- T2 _i=0;
- /*[IF*/
- if(((C)->_list/*4*/)!=((void*)(NULL))){
- _i=((T239*)((C)->_list/*4*/))->_upper/*8*/;
- while (!((_i)==(0))) {
- /*[IRF3.6compile_to_jvm_resolve_branch*/{T237* C1=(T237*)(r239item((T239*)((C)->_list/*4*/),_i));
- r28resolve_u2_branch((C1)->_point2/*24*/);
- }/*]*/
- _i=(_i)-(1);
- }
- }
- /*FI]*/
- }
- /*No:WHEN_LIST.e_inspect*/
-
-
- void r238error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
- /*No:WHEN_LIST.make*/
-
-
- void r238compile_to_jvm(T238* C,T0* a1){
- T2 _i=0;
- T2 _r=0;
- /*[IF*/
- if(((C)->_list/*4*/)!=((void*)(NULL))){
- _r=((T239*)((C)->_list/*4*/))->_upper/*8*/;
- _i=1;
- while (!((_r)==(0))) {
- _r=(_r)-(1);
- r237compile_to_jvm((T237*)(r239item((T239*)((C)->_list/*4*/),_i)),a1,_r);
- _i=(_i)+(1);
- }
- }
- /*FI]*/
- }
-
-
- void r238afd_check(T238* C){
- T2 _i=0;
- _i=((T239*)((C)->_list/*4*/))->_upper/*8*/;
- while (!((_i)==(0))) {
- r237afd_check((T237*)(r239item((T239*)((C)->_list/*4*/),_i)));
- _i=(_i)-(1);
- }
- }
- /*No:WHEN_LIST.list*/
-
-
- T0* r238to_runnable_character(T238* C,T0* a1){
- T0* R=NULL;
- T0* _e_when=NULL;
- T2 _i=0;
- /*[IF*/
- if(((C)->_e_inspect/*0*/)==((void*)(NULL))){
- C->_e_inspect=a1;
- _i=1;
- while (!(((_i)>(((T239*)((C)->_list/*4*/))->_upper/*8*/))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
- _e_when=r237to_runnable_character((T237*)(r239item((T239*)((C)->_list/*4*/),_i)),(T0*)C);
- /*[IF*/
- if((_e_when)==((void*)(NULL))){
- r238error(r238start_position(C),((T0*)ms238_15022));
- }
- else{
- /*[IRF3.6put*/{T239* C1=(T239*)((C)->_list/*4*/);
- T0* b1=_e_when;
- T2 b2=_i;
- ((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
- }/*]*/
- }
- /*FI]*/
- _i=(_i)+(1);
- }
- R=(T0*)C;
- }
- else{
- {T238*n=malloc(sizeof(*n));
- *n=M238;
- r238from_when_list(n,(T0*)C);
- R=(T0*)n;
- }
- R=r238to_runnable_character(((T238*)R),a1);
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r290run_require(T0* a1){
- T0* R=NULL;
- T0* _ct=NULL;
- T0* _ar=NULL;
- T0* _hc=NULL;
- T0* _er=NULL;
- T0* _r=NULL;
- T2 _i=0;
- r365clear((T365*)(oBC95require_collector));
- _ct=/*X27current_type*/((T0*)(((T26*)a1))->_current_type/*4*/);
- r63collect_for((T63*)(X52base_class(_ct)),1,/*X27name*/((T0*)(((T26*)a1))->_name/*16*/));
- /*[IF*/
- if(!(r365empty((T365*)(oBC95require_collector)))){
- _i=1;
- while (!((_i)>(((T365*)(oBC95require_collector))->_upper/*8*/))) {
- _er=r365item((T365*)(oBC95require_collector),_i);
- _hc=(((T291*)_er))->_header_comment/*4*/;
- /*[IF*/
- if(!(/*(IRF4.7empty*/((((T291*)_er))->_list/*8*/)==(NULL)/*)*/)){
- _r=r290runnable((((T291*)_er))->_list/*8*/,_ct,a1);
- /*[IF*/
- if((_r)!=((void*)(NULL))){
- {T291*n=malloc(sizeof(*n));
- *n=M291;
- r291make_runnable(n,_r,_ct,a1);
- _er=(T0*)n;
- }
- /*[IRF3.3set_header_comment*/((((T291*)(((T291*)_er))))->_header_comment)=(_hc);
- /*]*/
- /*[IF*/
- if((_ar)==((void*)(NULL))){
- _ar=se_ma365(1,
- _er);
- }
- else{
- r365add_last(((T365*)_ar),_er);
- }
- /*FI]*/
- }
- /*FI]*/
- }
- /*FI]*/
- _i=(_i)+(1);
- }
- /*[IF*/
- if((_ar)!=((void*)(NULL))){
- {T367*n=malloc(sizeof(*n));
- *n=M367;
- /*[IRF3.3make*/((((T367*)(n)))->_list)=(_ar);
- /*]*/
- R=(T0*)n;
- }
- }
- /*FI]*/
- }
- /*FI]*/
- return R;
- }
- /*No:DEFERRED_PROCEDURE.base_class*/
-
-
- void r290set_rescue_compound(T290* C,T0* a1){
- /*[IF*/
- if((a1)!=((void*)(NULL))){
- r21add_position(r220start_position(((T220*)a1)));
- }
- else{
- r21add_position(r290start_position(C));
- }
- /*FI]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms289_125161);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21print_as_fatal_error((T21*)(oBC12eh));
- }
-
-
- T0* r290start_position(T290* C){
- T0* R=NULL;
- R=X50start_position(/*(IRF4.6first_name*/r87item(((T87*)((C)->_names/*8*/)),1)/*)*/);
- return R;
- }
-
-
- T6 r290is_merge_with(T290* C,T0* a1,T0* a2){
- T6 R=0;
- R=1;
- /*[IF*/
- if((/*(IRF4.1result_type*/NULL/*)*/)!=((void*)(X95result_type(a1)))){
- /*[IF*/
- {/*AT*/R=0;
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(((C)->_arguments/*20*/)!=((void*)(X95arguments(a1)))){
- /*[IF*/
- if((((C)->_arguments/*20*/)==((void*)(NULL)))||((X95arguments(a1))==((void*)(NULL)))){
- R=0;
- }
- else if((/*(IRF4.6count*/(((T195*)(((T191*)((C)->_arguments/*20*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T195*)(((T191*)(X95arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
- R=0;
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(R){
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- /*[IF*/
- if((R)&&(((C)->_arguments/*20*/)!=((void*)(NULL)))){
- R=r191is_a_in((T191*)((C)->_arguments/*20*/),X95arguments(a1),a2);
- }
- /*FI]*/
- /*[IF*/
- if(!(R)){
- R=1;
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
- /*]*/
- /*[IRF3.3clear*/((((T58*)((T58*)(oBC21positions))))->_upper)=(-(1));
- /*]*/
- /*]*/
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- /*[IF*/
- if((R)&&(((C)->_arguments/*20*/)!=((void*)(NULL)))){
- R=r191is_a_in((T191*)(X95arguments(a1)),(C)->_arguments/*20*/,a2);
- }
- /*FI]*/
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(R){
- r290merge_header_comments(C,a1);
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r290runnable(T0* a1,T0* a2,T0* a3){
- T0* R=NULL;
- T0* _a=NULL;
- T2 _i=0;
- /*[IF*/
- if(!(r108empty(((T108*)a1)))){
- R=r108twin(((T108*)a1));
- _i=(((T108*)R))->_upper/*8*/;
- while (!((_i)==(0))) {
- r22push((T22*)(oBC12small_eiffel),a3);
- _a=r105to_runnable((T105*)(r108item(((T108*)R),_i)),a2);
- /*[IF*/
- if((_a)==((void*)(NULL))){
- r290error(r105start_position((T105*)(r108item(((T108*)R),_i))),((T0*)ms13_14266));
- }
- else{
- /*[IRF3.6put*/{T108* C1=((T108*)R);
- T0* b1=_a;
- T2 b2=_i;
- ((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
- }/*]*/
- }
- /*FI]*/
- r22pop((T22*)(oBC12small_eiffel));
- _i=(_i)-(1);
- }
- }
- /*FI]*/
- return R;
- }
- /*No:DEFERRED_PROCEDURE.first_name*/
- /*No:DEFERRED_PROCEDURE.em1*/
- /*No:DEFERRED_PROCEDURE.header_comment*/
- /*No:DEFERRED_PROCEDURE.names*/
- /*No:DEFERRED_PROCEDURE.fz_03*/
- /*No:DEFERRED_PROCEDURE.result_type*/
- /*No:DEFERRED_PROCEDURE.code_require*/
- /*No:DEFERRED_PROCEDURE.make_e_feature*/
-
-
- void r290add_into(T290* C,T0* a1){
- T0* _fn=NULL;
- T2 _i=0;
- C->_base_class=r59base_class((T59*)(X50start_position(r87item((T87*)((C)->_names/*8*/),1))));
- _i=1;
- while (!((_i)>(r87count((T87*)((C)->_names/*8*/))))) {
- _fn=r87item((T87*)((C)->_names/*8*/),_i);
- /*[IF*/
- if(r94has(((T94*)a1),X50to_key(_fn))){
- _fn=/*X95first_name*/((T0*)/*(IRF4.6first_name*/r87item(((T87*)(((T203*)(r94at(((T94*)a1),X50to_key(_fn))))->_names/*8*/)),1)/*)*/);
- r21add_position(X50start_position(_fn));
- r21add_position(X50start_position(r87item((T87*)((C)->_names/*8*/),_i)));
- r21error((T21*)(oBC12eh),((T0*)ms95_41905));
- /*[IRF3.6append*/{T0* b1=X50to_string(_fn);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21error((T21*)(oBC12eh),((T0*)ms13_47));
- }
- else{
- r94put(((T94*)a1),(T0*)C,X50to_key(_fn));
- }
- /*FI]*/
- _i=(_i)+(1);
- }
- }
-
-
- T6 r290can_hide(T290* C,T0* a1,T0* a2){
- T6 R=0;
- /*[IF*/
- if((/*(IRF4.1result_type*/NULL/*)*/)!=((void*)(X95result_type(a1)))){
- /*[IF*/
- {/*AT*/r21add_position(X95start_position(a1));
- r290error(r290start_position(C),((T0*)ms95_64647));
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(((C)->_arguments/*20*/)!=((void*)(X95arguments(a1)))){
- /*[IF*/
- if((((C)->_arguments/*20*/)==((void*)(NULL)))||((X95arguments(a1))==((void*)(NULL)))){
- r21add_position(X95start_position(a1));
- r290error(r290start_position(C),((T0*)ms95_83182));
- }
- else if((/*(IRF4.6count*/(((T195*)(((T191*)((C)->_arguments/*20*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T195*)(((T191*)(X95arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
- r21add_position(X95start_position(a1));
- r290error(r290start_position(C),((T0*)ms95_67155));
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
- /*[IF*/
- if(((C)->_arguments/*20*/)!=((void*)(NULL))){
- /*[IF*/
- if(!(r191is_a_in((T191*)((C)->_arguments/*20*/),X95arguments(a1),a2))){
- r21add_position(X95start_position(a1));
- r21add_position(r290start_position(C));
- /*[IRF3.6append*/{T0* b1=((T0*)ms95_54285);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)a2))->_current_type/*0*/);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21error((T21*)(oBC12eh),((T0*)ms13_47));
- }
- /*FI]*/
- }
- /*FI]*/
- }
- /*FI]*/
- R=(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0);
- /*[IF*/
- if(R){
- r290merge_header_comments(C,a1);
- }
- /*FI]*/
- return R;
- }
- /*No:DEFERRED_PROCEDURE.ensure_assertion*/
-
-
- T0* r290run_ensure(T0* a1){
- T0* R=NULL;
- T0* _ct=NULL;
- T0* _r=NULL;
- r108clear((T108*)(oBC95assertion_collector));
- /*[IRF3.3clear*/{T0* _default_item=NULL;
- ((((T364*)((T364*)(oBC95header_comment_memory))))->_item)=(_default_item);
- }/*]*/
- _ct=/*X27current_type*/((T0*)(((T26*)a1))->_current_type/*4*/);
- r63collect_for((T63*)(X52base_class(_ct)),2,/*X27name*/((T0*)(((T26*)a1))->_name/*16*/));
- _r=r290runnable(oBC95assertion_collector,_ct,a1);
- /*[IF*/
- if((_r)!=((void*)(NULL))){
- {T219*n=malloc(sizeof(*n));
- *n=M219;
- r219make_runnable(n,_r,_ct,a1);
- R=(T0*)n;
- }
- /*[IRF3.3set_header_comment*/((((T219*)(((T219*)R))))->_header_comment)=(((T364*)(oBC95header_comment_memory))->_item/*0*/);
- /*]*/
- /*[IRF3.3clear*/{T0* _default_item=NULL;
- ((((T364*)((T364*)(oBC95header_comment_memory))))->_item)=(_default_item);
- }/*]*/
- }
- /*FI]*/
- return R;
- }
-
-
- void r290check_obsolete(T290* C){
- /*[IF*/
- if(!(((T22*)(oBC12small_eiffel))->_short_flag/*8*/)){
- /*[IF*/
- if(((C)->_obsolete_mark/*24*/)!=((void*)(NULL))){
- /*[IRF3.6append*/{T0* b1=((T0*)ms218_39396);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T174*)((C)->_obsolete_mark/*24*/))->_to_string/*8*/;
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r290warning(r290start_position(C),((T0*)ms13_166));
- }
- /*FI]*/
- }
- /*FI]*/
- }
-
-
- T0* r290try_to_undefine(T290* C,T0* a1,T0* a2){
- T0* R=NULL;
- T0* _fn2=NULL;
- r21add_position(X50start_position(a1));
- _fn2=r87feature_name((T87*)((C)->_names/*8*/),X50to_key(a1));
- /*[IF*/
- if((_fn2)!=((void*)(NULL))){
- X50undefine_in(_fn2,a2);
- }
- /*FI]*/
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
- /*]*/
- /*[IRF3.3clear*/((((T58*)((T58*)(oBC21positions))))->_upper)=(-(1));
- /*]*/
- /*]*/
- R=/*(IRF4.4try_to_undefine_aux*/((T0*)(C))/*)*/;
- /*[IF*/
- if((R)!=((void*)(NULL))){
- /*X289set_clients*//*[IRF3.3set_clients*/((((T292*)(((T292*)R))))->_clients)=((C)->_clients/*16*/);
- /*]*/
- r290merge_header_comments(C,R);
- }
- else{
- r63fatal_undefine(((T63*)a2),a1);
- }
- /*FI]*/
- return R;
- }
- /*No:DEFERRED_PROCEDURE.is_deferred*/
- /*No:DEFERRED_PROCEDURE.set_clients*/
- /*No:DEFERRED_PROCEDURE.code_ensure*/
- /*No:DEFERRED_PROCEDURE.nb_errors*/
-
-
- void r290make_routine(T290* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
- /*[IRF3.3make_e_feature*/((((T290*)(C)))->_names)=(a1);
- /*]*/
- C->_header_comment=a4;
- C->_arguments=a2;
- C->_obsolete_mark=a3;
- C->_require_assertion=a5;
- }
-
-
- T0* r290to_run_feature(T290* C,T0* a1,T0* a2){
- T0* R=NULL;
- r290check_obsolete(C);
- {T357*n=malloc(sizeof(*n));
- *n=M357;
- r357make(n,a1,a2,(T0*)C);
- R=(T0*)n;
- }
- return R;
- }
-
-
- void r290merge_header_comments(T290* C,T0* a1){
- /*[IF*/
- if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
- /*[IF*/
- if(((C)->_header_comment/*12*/)==((void*)(NULL))){
- C->_header_comment=/*X95header_comment*/((T0*)(((T203*)a1))->_header_comment/*12*/);
- }
- else if((/*X95header_comment*/((T0*)(((T203*)a1))->_header_comment/*12*/))==((void*)(NULL))){
- X95set_header_comment(a1,(C)->_header_comment/*12*/);
- }
- /*FI]*/
- }
- /*FI]*/
- }
- /*No:DEFERRED_PROCEDURE.arguments*/
- /*No:DEFERRED_PROCEDURE.require_assertion*/
-
-
- void r290warning(T0* a1,T0* a2){
- r21add_position(a1);
- r21warning((T21*)(oBC12eh),a2);
- }
- /*No:DEFERRED_PROCEDURE.try_to_undefine_aux*/
- /*No:DEFERRED_PROCEDURE.set_ensure_assertion*/
- /*No:DEFERRED_PROCEDURE.fz_bad_assertion*/
- /*No:DEFERRED_PROCEDURE.fz_dot*/
-
-
- void r290error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
- /*No:DEFERRED_PROCEDURE.make*/
- /*No:DEFERRED_PROCEDURE.end_comment*/
-
-
- void r290collect_for(T290* C,T2 a1){
- T0* _er=NULL;
- /*[IF*/
- if((a1)==(1)){
- _er=(C)->_require_assertion/*28*/;
- /*[IF*/
- if((_er)!=((void*)(NULL))){
- /*[IF*/
- if(!(r365fast_has((T365*)(oBC95require_collector),_er))){
- r365add_last((T365*)(oBC95require_collector),_er);
- }
- /*FI]*/
- }
- /*FI]*/
- }
- else{
- /*[IF*/
- if(((C)->_ensure_assertion/*32*/)!=((void*)(NULL))){
- /*[IRF3.3set_item*/((((T364*)((T364*)(oBC95header_comment_memory))))->_item)=(((T219*)((C)->_ensure_assertion/*32*/))->_header_comment/*4*/);
- /*]*/
- r219add_into((T219*)((C)->_ensure_assertion/*32*/),oBC95assertion_collector);
- }
- /*FI]*/
- }
- /*FI]*/
- }
-
-
- void r290from_effective(T290* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
- {T87*n=malloc(sizeof(*n));
- *n=M87;
- /*[IRF3.3make_1*/((((T87*)(n)))->_first)=(a1);
- /*]*/
- C->_names=(T0*)n;
- }
- r290make_routine(C,(C)->_names/*8*/,a2,NULL,NULL,a3);
- /*[IRF3.3set_ensure_assertion*/((((T290*)(C)))->_ensure_assertion)=(a4);
- /*]*/
- C->_base_class=a5;
- }
-
-
- void r290set_header_comment(T290* C,T0* a1){
- /*[IF*/
- if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)>(1))){
- C->_end_comment=a1;
- }
- /*FI]*/
- }
- /*No:DEFERRED_PROCEDURE.clients*/
- /*No:DEFERRED_PROCEDURE.obsolete_mark*/
- /*No:CHECK_INVARIANT.nb_errors*/
- /*No:CHECK_INVARIANT.start_position*/
-
-
- T0* r223twin(T223* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T223*)R)=*C;
- return R;
- }
-
-
- T0* r223runnable(T0* a1,T0* a2,T0* a3){
- T0* R=NULL;
- T0* _a=NULL;
- T2 _i=0;
- /*[IF*/
- if(!(r108empty(((T108*)a1)))){
- R=r108twin(((T108*)a1));
- _i=(((T108*)R))->_upper/*8*/;
- while (!((_i)==(0))) {
- r22push((T22*)(oBC12small_eiffel),a3);
- _a=r105to_runnable((T105*)(r108item(((T108*)R),_i)),a2);
- /*[IF*/
- if((_a)==((void*)(NULL))){
- r223error(r105start_position((T105*)(r108item(((T108*)R),_i))),((T0*)ms13_14266));
- }
- else{
- /*[IRF3.6put*/{T108* C1=((T108*)R);
- T0* b1=_a;
- T2 b2=_i;
- ((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
- }/*]*/
- }
- /*FI]*/
- r22pop((T22*)(oBC12small_eiffel));
- _i=(_i)-(1);
- }
- }
- /*FI]*/
- return R;
- }
-
-
- T6 r223use_current(T223* C){
- T6 R=0;
- T2 _i=0;
- /*[IF*/
- if(((C)->_list/*8*/)!=((void*)(NULL))){
- _i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
- while (!((R)||((_i)==(0)))) {
- R=r105use_current((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
- _i=(_i)-(1);
- }
- }
- /*FI]*/
- return R;
- }
- /*No:CHECK_INVARIANT.header_comment*/
-
-
- T0* r223to_runnable(T223* C,T0* a1){
- T0* R=NULL;
- /*[IF*/
- if(((C)->_current_type/*12*/)==((void*)(NULL))){
- C->_current_type=a1;
- C->_run_feature=r22top_rf((T22*)(oBC12small_eiffel));
- /*[IF*/
- if(((C)->_list/*8*/)!=((void*)(NULL))){
- C->_list=r223runnable((C)->_list/*8*/,a1,(C)->_run_feature/*16*/);
- }
- /*FI]*/
- /*[IF*/
- if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
- R=(T0*)C;
- }
- /*FI]*/
- }
- else{
- R=r223twin(C);
- /*[IRF3.3set_current_type*/((((T223*)(((T223*)R))))->_current_type)=(NULL);
- /*]*/
- R=r223to_runnable(((T223*)R),a1);
- }
- /*FI]*/
- return R;
- }
- /*No:CHECK_INVARIANT.set_current_type*/
- /*No:CHECK_INVARIANT.fz_bad_assertion*/
- /*No:CHECK_INVARIANT.current_type*/
-
-
- T6 r223is_pre_computable(T223* C){
- T6 R=0;
- T2 _i=0;
- /*[IF*/
- if(((C)->_list/*8*/)==((void*)(NULL))){
- R=1;
- }
- else{
- _i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
- R=1;
- while (!((!(R))||((_i)==(0)))) {
- R=r105is_pre_computable((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
- _i=(_i)-(1);
- }
- }
- /*FI]*/
- return R;
- }
-
-
- void r223error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
- /*No:CHECK_INVARIANT.run_feature*/
-
-
- void r223make(T223* C,T0* a1,T0* a2,T0* a3){
- C->_start_position=a1;
- C->_header_comment=a2;
- C->_list=a3;
- }
-
-
- void r223compile_to_jvm(T223* C,T6 a1){
- T0* _ca=NULL;
- T2 _i=0;
- T2 _point_true=0;
- _ca=oBC12code_attribute;
- r28check_opening(((T28*)_ca));
- /*[IRF3.3clear*/((((T48*)((T48*)(oBC107failure))))->_upper)=(-(1));
- /*]*/
- _i=1;
- while (!((_i)>(((T108*)((C)->_list/*8*/))->_upper/*8*/))) {
- r105compile_to_jvm((T105*)(r108item((T108*)((C)->_list/*8*/),_i)),a1);
- r48add_last((T48*)(oBC107failure),r28opcode_ifeq(((T28*)_ca)));
- _i=(_i)+(1);
- }
- /*[IRF3.4opcode_iconst_1*/r28opcode(((T28*)_ca),4,1);
- /*]*/
- _point_true=r28opcode_goto(((T28*)_ca));
- r28resolve_with(oBC107failure);
- /*[IRF3.4opcode_iconst_0*/r28opcode(((T28*)_ca),3,1);
- /*]*/
- r28resolve_u2_branch(_point_true);
- r28check_closing(((T28*)_ca));
- }
-
-
- void r223afd_check(T223* C){
- T2 _i=0;
- /*[IF*/
- if(((C)->_list/*8*/)!=((void*)(NULL))){
- _i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
- while (!((_i)==(0))) {
- r105afd_check((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
- _i=(_i)-(1);
- }
- }
- /*FI]*/
- }
- /*No:CHECK_INVARIANT.list*/
-
-
- void r47store_in(T0* a1){
- T2 _i=0;
- T2 _c=0;
- _c=/*(IRF4.9count*//*(IRF4.6count*/(((T48*)(oBC47from_pc))->_upper/*8*/)+(1)/*)*//*)*/;
- r47append_u2(a1,_c);
- _i=0;
- while (!((_i)>=(_c))) {
- r47append_u2(a1,/*(IRF4.6item*/(((T48*)(oBC47from_pc))->_storage/*0*/)[_i]/*)*/);
- r47append_u2(a1,/*(IRF4.6item*/(((T48*)(oBC47to_pc))->_storage/*0*/)[_i]/*)*/);
- r47append_u2(a1,/*(IRF4.6item*/(((T48*)(oBC47handler_pc))->_storage/*0*/)[_i]/*)*/);
- r47append_u2(a1,/*(IRF4.6item*/(((T48*)(oBC47type_idx))->_storage/*0*/)[_i]/*)*/);
- _i=(_i)+(1);
- }
- }
- T0*oBC47from_pc=NULL;
-
-
- void r47append_u2(T0* a1,T2 a2){
- /*[IRF3.6append_u1*/{T0* b1=a1;
- T2 b2=(a2)/(256);
- r7extend(((T7*)b1),((T3)(b2)));
- }/*]*/
- /*[IRF3.6append_u1*/{T0* b1=a1;
- T2 b2=(a2)%(256);
- r7extend(((T7*)b1),((T3)(b2)));
- }/*]*/
- }
- T0*oBC47to_pc=NULL;
- /*No:EXCEPTION_TABLE.count*/
- /*No:EXCEPTION_TABLE.append_u1*/
- T0*oBC47type_idx=NULL;
- /*No:EXCEPTION_TABLE.make*/
- T0*oBC47handler_pc=NULL;
- /*No:EXCEPTION_TABLE.clear*/
- /*No:COMPOUND.empty_or_null_body*/
- /*No:COMPOUND.nb_errors*/
-
-
- T0* r220start_position(T220* C){
- T0* R=NULL;
- /*[IF*/
- if((r220count(C))>(0)){
- R=X164start_position((C)->_first_one/*8*/);
- }
- /*FI]*/
- return R;
- }
-
-
- T6 r220use_current(T220* C){
- T6 R=0;
- T2 _i=0;
- _i=r220count(C);
- while (!((R)||((_i)==(0)))) {
- R=X164use_current(r220item(C,_i));
- _i=(_i)-(1);
- }
- return R;
- }
-
-
- T0* r220item(T220* C,T2 a1){
- T0* R=NULL;
- /*[IF*/
- if((a1)==(1)){
- R=(C)->_first_one/*8*/;
- }
- else{
- R=/*(IRF4.6item*/(((T221*)((C)->_remainder/*12*/))->_storage/*0*/)[(a1)-(2)]/*)*/;
- }
- /*FI]*/
- return R;
- }
- /*No:COMPOUND.header_comment*/
- /*No:COMPOUND.first_one*/
-
-
- T0* r220to_runnable(T220* C,T0* a1){
- T0* R=NULL;
- T0* _i2=NULL;
- T0* _i1=NULL;
- T2 _i=0;
- /*[IF*/
- if(((C)->_first_one/*8*/)==((void*)(NULL))){
- R=(T0*)C;
- }
- else if(((C)->_current_type/*4*/)==((void*)(NULL))){
- C->_current_type=a1;
- _i=r220count(C);
- while (!((_i)==(0))) {
- _i1=r220item(C,_i);
- _i2=X164to_runnable(_i1,a1);
- /*[IF*/
- if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)){
- /*[IRF3.6append*/{T0* b1=((T0*)ms220_59163);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X52written_mark((C)->_current_type/*4*/);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21add_position(X164start_position(_i1));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms220_180);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- else{
- r220put(C,_i2,_i);
- }
- /*FI]*/
- _i=(_i)-(1);
- }
- R=(T0*)C;
- }
- else{
- {T220*n=malloc(sizeof(*n));
- *n=M220;
- r220from_compound(n,(T0*)C);
- R=(T0*)n;
- }
- R=r220to_runnable(((T220*)R),a1);
- }
- /*FI]*/
- return R;
- }
- /*No:COMPOUND.current_type*/
-
-
- T6 r220is_pre_computable(T220* C){
- T6 R=0;
- T2 _i=0;
- _i=r220count(C);
- R=1;
- while (!((!(R))||((_i)==(0)))) {
- R=X164is_pre_computable(r220item(C,_i));
- _i=(_i)-(1);
- }
- return R;
- }
- /*No:COMPOUND.first*/
-
-
- T2 r220count(T220* C){
- T2 R=0;
- /*[IF*/
- if(((C)->_first_one/*8*/)==((void*)(NULL))){
- }
- else if(((C)->_remainder/*12*/)!=((void*)(NULL))){
- R=(((T221*)((C)->_remainder/*12*/))->_upper/*8*/)+(2);
- }
- else{
- R=1;
- }
- /*FI]*/
- return R;
- }
-
-
- void r220make(T220* C,T0* a1,T0* a2,T0* a3){
- C->_header_comment=a1;
- C->_first_one=a2;
- C->_remainder=a3;
- }
-
-
- void r220compile_to_jvm(T220* C){
- T0* _ca=NULL;
- T6 _trace=0;
- T0* _instruction=NULL;
- T2 _c=0;
- T2 _i=0;
- _c=r220count(C);
- _ca=oBC12code_attribute;
- _trace=((T76*)(oBC12run_control))->_trace/*4*/;
- _i=1;
- while (!((_i)>(_c))) {
- _instruction=r220item(C,_i);
- /*[IF*/
- if(_trace){
- r28se_trace(((T28*)_ca),(C)->_current_type/*4*/,X164start_position(_instruction));
- }
- /*FI]*/
- X164compile_to_jvm(_instruction);
- _i=(_i)+(1);
- }
- }
-
-
- void r220afd_check(T220* C){
- T2 _i=0;
- _i=r220count(C);
- while (!((_i)==(0))) {
- X164afd_check(r220item(C,_i));
- _i=(_i)-(1);
- }
- }
- /*No:COMPOUND.remainder*/
-
-
- void r220put(T220* C,T0* a1,T2 a2){
- /*[IF*/
- if((a2)==(1)){
- C->_first_one=a1;
- }
- else{
- /*[IRF3.5put*/(((T221*)((C)->_remainder/*12*/))->_storage/*0*/)[(a2)-(2)]=(a1);
- /*]*/
- }
- /*FI]*/
- }
-
-
- void r220from_compound(T220* C,T0* a1){
- C->_header_comment=(((T220*)a1))->_header_comment/*0*/;
- C->_first_one=(((T220*)a1))->_first_one/*8*/;
- C->_remainder=(((T220*)a1))->_remainder/*12*/;
- /*[IF*/
- if(((C)->_remainder/*12*/)!=((void*)(NULL))){
- C->_remainder=r221twin((T221*)((C)->_remainder/*12*/));
- }
- /*FI]*/
- }
- /*No:COMPOUND.fatal_error*/
- /*No:CREATION_CALL_1.start_position*/
-
-
- T0* r251add_comment(T251* C,T0* a1){
- T0* R=NULL;
- /*[IF*/
- if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
- R=(T0*)C;
- }
- /*AF*/else{
- {T229*n=malloc(sizeof(*n));
- *n=M229;
- r229make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI]*/
- return R;
- }
-
-
- T6 r251use_current(T251* C){
- T6 R=0;
- R=X109use_current((C)->_writable/*8*/);
- return R;
- }
-
-
- void r251check_created_type(T251* C,T0* a1){
- T0* _rt=NULL;
- _rt=X52run_type(a1);
- /*[IF*/
- if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
- }
- else if(((T63*)(X52base_class(_rt)))->_is_deferred/*16*/){
- r21add_type(_rt,((T0*)ms253_11858));
- r251warning((C)->_start_position/*4*/,((T0*)ms253_30996));
- }
- /*FI]*/
- /*[IF*/
- if(X52is_formal_generic(a1)){
- r21add_position((C)->_start_position/*4*/);
- /*[IRF3.6append*/{T0* b1=((T0*)ms253_77140);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21add_type(a1,((T0*)ms253_180));
- r21print_as_fatal_error((T21*)(oBC12eh));
- }
- /*FI]*/
- r23set_at_run_time((T23*)(X52run_class(_rt)));
- }
-
-
- T0* r251to_runnable(T251* C,T0* a1){
- T0* R=NULL;
- T0* _t=NULL;
- /*[IF*/
- if(((C)->_current_type/*12*/)==((void*)(NULL))){
- r251check_writable(C,a1);
- _t=X109result_type((C)->_writable/*8*/);
- r251check_created_type(C,_t);
- r251check_creation_clause(C,_t);
- R=(T0*)C;
- }
- else{
- {T251*n=malloc(sizeof(*n));
- *n=M251;
- r251make(n,(C)->_start_position/*4*/,(C)->_writable/*8*/);
- R=(T0*)n;
- }
- R=r251to_runnable(((T251*)R),a1);
- }
- /*FI]*/
- return R;
- }
-
-
- void r251warning(T0* a1,T0* a2){
- r21add_position(a1);
- r21warning((T21*)(oBC12eh),a2);
- }
- /*No:CREATION_CALL_1.current_type*/
- /*No:CREATION_CALL_1.writable*/
-
-
- T6 r251is_pre_computable(T251* C){
- T6 R=0;
- R=X109is_result((C)->_writable/*8*/);
- return R;
- }
-
-
- void r251compile_to_jvm0(T0* a1){
- T2 _dummy=0;
- /*[IF*/
- if(X52is_reference(a1)){
- r23jvm_basic_new((T23*)(X52run_class(a1)));
- }
- else{
- _dummy=X52jvm_push_default(a1);
- }
- /*FI]*/
- }
-
-
- void r251error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
- /*No:CREATION_CALL_1.end_mark_comment*/
-
-
- void r251make(T251* C,T0* a1,T0* a2){
- C->_start_position=a1;
- C->_writable=a2;
- }
-
-
- void r251check_writable(T251* C,T0* a1){
- T0* _w=NULL;
- C->_current_type=a1;
- _w=X109to_runnable((C)->_writable/*8*/,a1);
- /*[IF*/
- if((_w)==((void*)(NULL))){
- r21add_position(X109start_position((C)->_writable/*8*/));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms253_64251);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- else{
- C->_writable=_w;
- }
- /*FI]*/
- }
-
-
- void r251check_creation_clause(T251* C,T0* a1){
- /*[IF*/
- if(/*(IRF4.7has_creation_clause*/(((T63*)(X52base_class(a1)))->_creation_clause_list/*44*/)!=(NULL)/*)*/){
- /*[IRF3.6append*/{T0* b1=((T0*)ms252_37098);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21add_type(a1,((T0*)ms252_162));
- r251error((C)->_start_position/*4*/,((T0*)ms252_46305));
- }
- /*FI]*/
- }
-
-
- void r251compile_to_jvm(T251* C){
- T0* _t=NULL;
- _t=X52run_type(X109result_type((C)->_writable/*8*/));
- r251compile_to_jvm0(_t);
- X52jvm_check_class_invariant(_t);
- X109jvm_assign((C)->_writable/*8*/);
- }
- /*No:CREATION_CALL_1.afd_check*/
- /*No:CREATION_CALL_1.fatal_error*/
-
-